from django.db import models

# Create your models here.

class Area(models.Model):
    """
    行政区划
    """
    # 创建 name 字段, 用户保存名称
    name = models.CharField(max_length=20, verbose_name='名称')
    # 自关联字段parent --> 是关联的Area"对象"
    # 必然会有一个隐藏字段parent_id,其值为关联Area对象的主键
    parent = models.ForeignKey(
        'self', on_delete=models.SET_NULL,
        # 主表(父级)对象有一个隐藏字段subs，是父级对象关联的多个子级对象查询集
        related_name='subs',
        null=True, blank=True, verbose_name='上级行政区划')

    class Meta:
        db_table = 'tb_areas'

    def __str__(self):
        return self.name